﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DTO;
using System.Data;
using System.Data.SqlClient;

namespace DAO
{
    public class LoaiDaiLyDAO
    {
        #region 1.Retrieving
        public static List<LoaiDaiLyDTO> SelectLoaiDaiLyAll()
        {
            List<LoaiDaiLyDTO> list_loaidDaiLyDTO = new List<LoaiDaiLyDTO>();

            DataTable dt = SqlDataConnectHelper.ExecuteQuery("usp_SelectLoaiDaiLiesAll");
            foreach (DataRow dr in dt.Rows)
            {
                LoaiDaiLyDTO loaiDaiLyDTO = new LoaiDaiLyDTO();
                loaiDaiLyDTO.MaLoaiDaiLy = dr["MaLoaiDaiLy"].ToString();
                loaiDaiLyDTO.TenLoaiDaiLy = dr["TenLoaiDaiLy"].ToString();
                loaiDaiLyDTO.TienNoToiDa = float.Parse(dr["TienNoToiDa"].ToString());
                list_loaidDaiLyDTO.Add(loaiDaiLyDTO);
            }

            return list_loaidDaiLyDTO;
        }
        public static List<LoaiDaiLyDTO> SellectLoaiDaiLyByID(string maLoaiDL)
        {
            List<LoaiDaiLyDTO> listLoaiDaiLyDTO = new List<LoaiDaiLyDTO>();

            List<SqlParameter> sqlParam = new List<SqlParameter>();
            sqlParam.Add(new SqlParameter("@maloaidaily", maLoaiDL));
            DataTable dt = SqlDataConnectHelper.ExecuteQuery("usp_SelectLoaiDaiLiesByAndMaLoaiDaiLy", sqlParam);
            foreach (DataRow dr in dt.Rows)
            {
                LoaiDaiLyDTO loaiDaiLyDTO = new LoaiDaiLyDTO();
                loaiDaiLyDTO.MaLoaiDaiLy = dr["MaLoaiDaiLy"].ToString();
                loaiDaiLyDTO.TenLoaiDaiLy = dr["TenLoaiDaiLy"].ToString();
                loaiDaiLyDTO.TienNoToiDa = float.Parse(dr["TienNoToiDa"].ToString());

                listLoaiDaiLyDTO.Add(loaiDaiLyDTO);
            }

            return listLoaiDaiLyDTO;
        }
        public static bool CheckLoaiDaiLyExits(string maLoaiDL)
        {
            List<LoaiDaiLyDTO> listLoaiDaiLyDTO = new List<LoaiDaiLyDTO>();

                List<SqlParameter> sqlParam = new List<SqlParameter>();
                sqlParam.Add(new SqlParameter("@maloaidaily", maLoaiDL));
                DataTable dt = SqlDataConnectHelper.ExecuteQuery("usp_SelectLoaiDaiLiesByAndMaLoaiDaiLy", sqlParam);
                foreach (DataRow dr in dt.Rows)
                {
                    LoaiDaiLyDTO loaiDaiLyDTO = new LoaiDaiLyDTO();
                    loaiDaiLyDTO.MaLoaiDaiLy = dr["MaLoaiDaiLy"].ToString();
                    loaiDaiLyDTO.TenLoaiDaiLy = dr["TenLoaiDaiLy"].ToString();
                    loaiDaiLyDTO.TienNoToiDa = float.Parse(dr["TienNoToiDa"].ToString());

                    listLoaiDaiLyDTO.Add(loaiDaiLyDTO);
                }



            if (listLoaiDaiLyDTO.Count == 1)
            {
                return true;
            }
            else
                return false;


        }
        #endregion
        #region 2.Updating
        public static bool UpdateLoaiDaiLy(LoaiDaiLyDTO loaiDaiLy)
        {
            bool isSucessful = false;
   
                List<SqlParameter> listSqlParam = new List<SqlParameter>();
                listSqlParam.Add(new SqlParameter("@maloaidaily", loaiDaiLy.MaLoaiDaiLy));
                listSqlParam.Add(new SqlParameter("@tenLoaidaily", loaiDaiLy.TenLoaiDaiLy));
                listSqlParam.Add(new SqlParameter("@Tiennotoida", loaiDaiLy.TienNoToiDa));
                int n = SqlDataConnectHelper.ExecuteNoneQuery("usp_UpdateLoaiDaiLy", listSqlParam);
                if (n == -1)
                {
                    isSucessful = true;
                }


  
            return isSucessful;
        }

        #endregion
        #region 3.Inserting
        public static bool InsertLoaiDaiLy(LoaiDaiLyDTO loaiDaiLy)
        {
            bool isSucessful = false;

                List<SqlParameter> listSqlParam = new List<SqlParameter>();
                listSqlParam.Add(new SqlParameter("@maloaidaily", loaiDaiLy.MaLoaiDaiLy));
                listSqlParam.Add(new SqlParameter("@tenLoaidaily", loaiDaiLy.TenLoaiDaiLy));
                listSqlParam.Add(new SqlParameter("@Tiennotoida", loaiDaiLy.TienNoToiDa));
                int n = SqlDataConnectHelper.ExecuteNoneQuery("usp_InsertLoaiDaiLy", listSqlParam);
                if (n == -1)
                {
                    isSucessful = true;
                }



            return isSucessful;
        }
        #endregion
        #region 4.Deleting
        public static bool DeleteLoaiDaiLy(string maLoai)
        {
            bool isSucessful = false;

                List<SqlParameter> listSqlParam = new List<SqlParameter>();
                listSqlParam.Add(new SqlParameter("@maloaidaily", maLoai));
                //listSqlParam.Add(new SqlParameter("@tenLoaidaily", loaiDaiLy.TenLoaiDaiLy));
                //listSqlParam.Add(new SqlParameter("@Tiennotoida", loaiDaiLy.TienNoToiDa));
                int n = SqlDataConnectHelper.ExecuteNoneQuery("usp_deleteLoaiDaiLy", listSqlParam);

                if (n == -1)
                {
                    isSucessful = true;
                }



            return isSucessful;
        }

        #endregion
    }
}
